package com.miplus.ccrm.core.service.strategy;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.yulichang.base.MPJBaseService;
import com.miplus.ccrm.common.CmdResVo;
import com.miplus.ccrm.common.PageData;
import com.miplus.ccrm.common.R;
import com.miplus.ccrm.core.controller.vo.strategy.*;
import com.miplus.ccrm.core.pojo.CfgRuleTask;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;

/**
* @author wangzl
* @description 针对表【cfg_rule_task】的数据库操作Service
* @createDate 2024-10-22 10:33:33
*/
public interface CfgRuleTaskService extends MPJBaseService<CfgRuleTask> {
    IPage<RuleTaskListResVo> getRuleTaskList(String usrId, RuleTaskReqVo ruleTaskReqVo);
    RuleTaskListResVo getRuleTaskInfo(Long taskId);

    CmdResVo addRuleTask(String usrId, CfgRuleTask cfgRuleTask);

    CmdResVo updateRuleTask(String usrId, CfgRuleTask cfgRuleTask);

    CmdResVo deleteRuleTask( Long taskId);

    IPage<RuleStepListResVo> getRuleTaskStepList(Integer pageNo, Integer pageSize, Long ruleTaskId);

    CmdResVo removeTaskStep(String useId, Long ruleTaskId, Long ruleStepId);

    CmdResVo addTaskStep(String useId, RuleTaskStepLinkReqVo ruleTaskStepLinkReqVo);

    CmdResVo changeTaskStepSeq(String useId, Long ruleTaskId, Long ruleStepId, String upOrDown);

    CmdResVo runTask(String usrId, Long ruleTaskId, Integer isManual);

    CmdResVo resetRuleTask(String usrId,Long ruleTaskId);
}
